package per.kongtouxu.service.Impl;

import org.apache.ibatis.session.RowBounds;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import per.kongtouxu.dao.UserScoreIoDao;
import per.kongtouxu.domain.pojo.PageBean;
import per.kongtouxu.domain.pojo.UserScoreIo;
import per.kongtouxu.domain.vo.V_FileInfo;
import per.kongtouxu.domain.vo.V_UserScoreIo;
import per.kongtouxu.service.UserScoreIoService;

import java.util.List;

@Service
public class UserScoreIoServiceImpl implements UserScoreIoService {
    @Autowired
    private UserScoreIoDao userScoreIoDao;
    @Override
    public void add(UserScoreIo userScoreIo) {
        userScoreIoDao.add(userScoreIo);
    }

    @Override
    public UserScoreIo findByFileIdAndUserId(Integer fileId, Integer UserId) {
        return userScoreIoDao.findByFileIdAndUserId(fileId,UserId);
    }

    @Override
    public PageBean<V_UserScoreIo> pageFind(String startTime, String endTime, Integer userId, int currentPage, int pageSize) {
        //1.分页类
        PageBean<V_UserScoreIo> pageBean = new PageBean<>();
        //2.设置当前页码
        pageBean.setCurrentPage(currentPage);
        //3.设置每页显示条数
        pageBean.setPageSize(pageSize);
        //4.设置总记录条数
        int totalCount = userScoreIoDao.findCountByPage(startTime, endTime,userId);
        pageBean.setTotalCount(totalCount);
        //5.设置PageBean中的实体数据
        //开始的记录条数=（当前页码-1）*每页显示条数
        int start = (currentPage - 1) * pageSize;
        List<V_UserScoreIo> list = userScoreIoDao.findBypage(startTime, endTime,userId, new RowBounds(start, pageSize));
        pageBean.setList(list);
        //6.设置总页数   总页数= 总记录条数/每页显示条数=0 ？ 总记录条数/每页显示条数=0 ：（总记录条数/每页显示条数=0）+1
        int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : (totalCount / pageSize) + 1;
        pageBean.setTotalPage(totalPage);
        //7.返回
        return pageBean;
    }
}
